package com.dingding.special.order.publish.dao;

import java.util.List;

import com.dingding.common.core.beans.special.UserspecialorderT;
import com.dingding.facade.special.trasfer.place.ReqBackstagePlace;
import com.dingding.facade.special.trasfer.route.RouteDto;

/**
 * @Description:发布专车单
 * @author fengshuonan
 * @date 2016年9月13日 下午3:39:01
 * @version 叮叮搭车
 * @since 2.4
 */
public interface IPublishSpecialOrderDao {

	/**
	 * @Description:判断该用户是否有进行中订单
	 * @param userId 用户的id
	 * @author fengshuonan 
	 * @return boolean true 有进行中订单     false 无进行中订单
	 * @since 2.4
	 */
	public Boolean haveMatchingOrder(String userId,int setOutType);
	
	/**
	 * @Description:添加订单到数据库
	 * @author fengshuonan
	 * @since 2.4
	 */
	public boolean saveToDb(UserspecialorderT userspecialorderT);
	
	/**
	 * @Description:生成一个完整的临时订单
	 * @param userId 用户id
	 * @param reqBackstagePlace 后台下单的请求bean
	 * @author fengshuonan
	 * @return UserspecialorderT 完整的订单
	 * @since 2.4
	 */
	public UserspecialorderT generateUserSpecialOrder(String userId,ReqBackstagePlace reqBackstagePlace);
	
	/**
	 * @Description:获取旅游路线
	 * @author fengshuonan
	 * @since 2.4
	 */
	public List<RouteDto> getRoutes(String depId);
	
	/**
	 * @Description:权益次数减一
	 * @param depId 旅行社的id
	 * @author fengshuonan
	 * @since 2.4
	 */
	public boolean downOneUseNum(String depId,String routeId);
}
